home *** CD-ROM | disk | FTP | other *** search
-
-
-
- DDDDCCCCHHHHUUUUDDDD((((3333FFFF)))) DDDDCCCCHHHHUUUUDDDD((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- DCHUD - DCHUD updates an augmented Cholesky decomposition of the
- triangular part of an augmented QR decomposition. Specifically, given an
- upper triangular matrix R of order P, a row vector X, a column vector Z,
- and a scalar Y, DCHUD determines a untiary matrix U and a scalar ZETA
- such that
-
-
- (R Z) (RR ZZ )
- U * ( ) = ( ) ,
- (X Y) ( 0 ZETA)
-
- where RR is upper triangular. If R and Z have been obtained from the
- factorization of a least squares problem, then RR and ZZ are the factors
- corresponding to the problem with the observation (X,Y) appended. In
- this case, if RHO is the norm of the residual vector, then the norm of
- the residual vector of the updated problem is DSQRT(RHO**2 + ZETA**2).
- DCHUD will simultaneously update several triplets (Z,Y,RHO). For a less
- terse description of what DCHUD does and how it may be applied, see the
- LINPACK guide.
-
- The matrix U is determined as the product U(P)*...*U(1), where U(I) is a
- rotation in the (I,P+1) plane of the form
-
- ( C(I) S(I) )
- ( ) .
- ( -S(I) C(I) )
-
- The rotations are chosen so that C(I) is double precision.
-
-
- SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
- SUBROUTINE DCHUD(R,LDR,P,X,Z,LDZ,NZ,Y,RHO,C,S)
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- On Entry
-
- RRRR DOUBLE PRECISION(LDR,P), where LDR .GE. P.
- R contains the upper triangular matrix
- that is to be updated. The part of R
- below the diagonal is not referenced.
-
- LLLLDDDDRRRR INTEGER.
- LDR is the leading dimension of the array R.
-
- PPPP INTEGER.
- P is the order of the matrix R.
-
- XXXX DOUBLE PRECISION(P).
- X contains the row to be added to R. X is
- not altered by DCHUD.
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- DDDDCCCCHHHHUUUUDDDD((((3333FFFF)))) DDDDCCCCHHHHUUUUDDDD((((3333FFFF))))
-
-
-
- ZZZZ DOUBLE PRECISION(LDZ,N)Z), where LDZ .GE. P.
- Z is an array containing NZ P-vectors to
- be updated with R.
-
- LLLLDDDDZZZZ INTEGER.
- LDZ is the leading dimension of the array Z.
-
- NNNNZZZZ INTEGER.
- NZ is the number of vectors to be updated
- NZ may be zero, in which case Z, Y, and RHO
- are not referenced.
-
- YYYY DOUBLE PRECISION(NZ).
- Y contains the scalars for updating the vectors
- Z. Y is not altered by DCHUD.
-
- RRRRHHHHOOOO DOUBLE PRECISION(NZ).
- RHO contains the norms of the residual
- vectors that are to be updated. If RHO(J)
- is negative, it is left unaltered. On Return RC
-
- RRRRHHHHOOOO contain the updated quantities.
-
- ZZZZ
-
-
- CCCC DOUBLE PRECISION(P).
- C contains the cosines of the transforming
- rotations.
-
- SSSS DOUBLE PRECISION(P).
- S contains the sines of the transforming
- rotations. LINPACK. This version dated 08/14/78 . G. W. Stewart,
- University of Maryland, Argonne National Lab.
-
- DDDDCCCCHHHHUUUUDDDD uses the following functions and subroutines. Extended BLAS DROTG
- Fortran DSQRT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-